// 引入设置好的axios
import http from "@/utils/http.js";

/** 账号登录
 * 账号登录
 * @export
 * @param {Object} params 
 * @param {string} params.name - 用户名
 * @param {string} params.password - 密码
 * @returns
 */
export async function login(params) {
  return await http.post('/user/login', params);
}

/** 获取用户信息
 * 获取用户信息 token 本人的
 * @export
 * @param {Object} params - 
 * @param {string} [params.userId] - 用户id 他人的
 * @returns
 */
export async function getUserInfo(params) {
  return await http.post('/user/info', params);
}

/** 账号退出
 * 账号退出
 */
export async function loginOut() {
  return await http.post('/user/login_out');
}

/** 注册账号
 * 注册账号
 * @param {Object} params - 
 * @param {string} params.name - 用户名
 * @param {string} params.password - 密码
 * @returns
 */
export async function register(params) {
  return await http.post('/user/create', params);
}

/** 获取指定用户关注的人
 * 获取指定用户关注的人
 * @param {Object} [params] - 
 * @param {string} [params.userId] - 指定的用户id
 */
export async function getFollowing(params) {
  return await http.get('/user/following', { params });
}

/** 获取指定用户的粉丝
 * 获取指定用户的粉丝
 * @param {Object} [params] - 
 * @param {string} [params.userId] - 指定的用户id
 */
export async function getFans(params) {
  return await http.get('/user/fans', { params });
}

/** 获取指定用户的的收藏的菜单
 * 获取指定用户的收藏的菜单
 * @param {Object} [params] - 
 * @param {string} [params.userId] - 指定的用户id
 */
export async function getCollection(params) {
  return await http.get('/user/collection', { params });
}

/** 关注
 * 切换关注 已关注->取消关注 未关注->关注
 * @export
 * @param {Object} [params] - 
 * @param {string} [params.followUserId] - 指定要关注的用户的id
 * @returns
 */
export async function toggleFollowing(params) {
  return await http.post('/user/following', params);
}

/** 修改用户信息
 * 修改用户信息
 * @export
 * @param {Object} [params] - 
 * @param {string} [params.name] - 用户名
 * @param {string} [params.avatar] - 头像地址
 * @param {string} [params.sign] - 个性签名
 * @returns
 */
export async function EditUser(params) {
  return await http.post('/user/edit', params);
}

